package com.synergy.stockflow.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Schema(description = "字典类型传输对象")
@Data
public class SysDictTypeDTO {
    @Schema(description = "类型编号", example = "1")
    private Integer dictTypeId;

    @Schema(description = "类型编码", example = "order_status")
    private String typeCode;

    @Schema(description = "类型名称", example = "订单状态")
    private String typeName;

    @Schema(description = "类型描述", example = "描述订单的各种状态")
    private String description;

    @Schema(description = "状态 (0:禁用, 1:启用)", example = "1")
    private Byte status;

    @Schema(description = "创建人编号", example = "1001")
    private Long createBy;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Schema(description = "更新人编号", example = "1001")
    private Long updateBy;

    @Schema(description = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @Schema(description = "逻辑删除标志 (0:未删, 1:已删)", example = "0")
    private Byte delFlag;

    // 关联的字典项列表（可选）
    @Schema(description = "该类型下的字典项列表")
    private List<SysDictItemDTO> items;
}